home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / formats / vicarfrm / vicar2.frm
Text File  |  1980-02-07  |  12KB  |  272 lines

  1.      o VICAR (VAX/VMS).
  2.  
  3.        The image processing program used at JPL.  Has been under continuous
  4.        development since the 1960's.  Available from the Computer Software
  5.        Management and Information Center (COSMIC) for $4000 and requires a
  6.        license agreement.  Contact COSMIC at the following for more details:
  7.  
  8.             COSMIC
  9.             The University of Georgia
  10.             382 East Broad Street
  11.             Athens, GA  30602
  12.  
  13.             Telephone: (404) 542-3265
  14.  
  15.             Email: cosmic@uga.bitnet (bitnet)
  16.                    service@cossack.cosmic.uga.edu (internet)
  17.  
  18.      o IMDISP (IBM PC).
  19.  
  20.        Written by myself and Mike Martin at JPL, and Archie Warnock at Goddard
  21.        Space Flight Center.  Available via anonymous ftp at ames.arc.nasa.gov
  22.        [128.102.18.3] in the pub/SPACE/SOFTWARE directory, under the file
  23.        imdisp56.zip.  IMDISP is on the GRIPS 2 CDROM, and can also be obtained
  24.        free from the National Space Science Data Center (NSSDC) at the Goddard
  25.        Space Flight Center:
  26.  
  27.             National Space Science Data Center
  28.             Request Coordination Office
  29.             Goddard Space Flight Center
  30.             Code 633
  31.             Greenbelt, MD  20771
  32.  
  33.             Telephone: (301) 286-6695
  34.  
  35.             Email address:   request@nssdca.gsfc.nasa.gov
  36.  
  37.        Incidently, this is also the same place you can get the Voyager and
  38.        Magellan CDROMs.
  39.  
  40.      o PixelPusher (Macintosh).
  41.  
  42.        Written by Dan Stanfill at JPL.  Available on the GRIPS 2 CDROM, and I'm
  43.        working on making it available via anonymous ftp.
  44.  
  45.      o xloadimage (Sun).
  46.  
  47.        Written by Herr Frost.  Available via anonymous ftp at
  48.        export.lcs.mit.edu [18.30.0.238] in the contrib directory.  The patches
  49.        to support VICAR are in a separate file at convex.com [130.168.1.1] and
  50.        are in pub/xl.3.0.1.patches.Z.  Anthony Datri wrote the VICAR patches.
  51.  
  52.                          *************
  53.       ___    _____     ___
  54.      /_ /|  /____/ \  /_ /|     Ron Baalke         | baalke@kelvin.jpl.nasa.gov
  55.      | | | |  __ \ /| | | |     Jet Propulsion Lab |
  56.   ___| | | | |__) |/  | | |__   M/S 301-355        | "Imagination is more
  57.  /___| | | |  ___/    | |/__ /| Pasadena, CA 91109 | important than knowledge"
  58.  |_____|/  |_|/       |_____|/                     | Albert Einstein
  59.  
  60. ===========================================================================
  61.  
  62.                        VICAR2 IMAGE FILE FORMAT
  63.  
  64.  
  65. 1  Introduction
  66.  
  67.     This document describes the format of a simple two-dimensional
  68. VICAR2 image and the attached label.
  69.  
  70. 2  VICAR2 File Format
  71.  
  72.     A VICAR2 image file in its simplest form is a file with fixed-length
  73. records containing binary data and an ASCII label.  The label takes up
  74. one or more records at the beginning of the file, and is further
  75. described in section 3 below.  The image data begins on the next record
  76. boundary after the label.   There is one record per image line, and the
  77. number of bytes in a record is equal to the number of bytes in one image
  78. line.  The image data can be any one of the following data types,
  79. indicated by a keyword in the image label:
  80.  
  81.         BYTE:    8 bits = VAX byte
  82.         HALF:    16 bits = 2 bytes = VAX word = Fortran INTEGER*2
  83.         FULL:    32 bits = 4 bytes = VAX longword = Fortran INTEGER*4
  84.         REAL:    32 bits = 4 bytes = VAX longword = Fortran REAL*4
  85.         DOUB:    64 bits = 8 bytes = VAX quadword = Fortran REAL*8
  86.         COMPLEX: 64 bits = 8 bytes = VAX quadword = Fortran COMPLEX*8
  87.  
  88. 3  VICAR2 Label Format
  89.  
  90.     The VICAR2 label is in the form of an ASCII character string,
  91. beginning at the first byte in the first record in the file.  The label
  92. may take up one or more records at the beginning of the file.  If the
  93. character string does not completely fill the final label record, the
  94. remaining bytes in the record are set to the ASCII null value,
  95. hexadecimal 00.
  96.  
  97.     In some cases there may be an additional label record at the end of
  98. the file, following the image data.  This is indicated when the keyword
  99. EOL has the value 1 (see description of keywords below).
  100.  
  101. 3.1  The Keyword=Value Format
  102.  
  103.     The label uses the KEYWORD=VALUE format for storing information
  104. about the image.  A list of standard keywords is given in section 3.3.
  105. The maximum length of a keyword is 8 characters.  A keyword is written
  106. in all capital letters and is followed by an equals sign (=), which is
  107. in turn followed by the value for the keyword.  There are no spaces on
  108. either side of the equals sign.  The value is followed by one or more
  109. spaces, in order to separate one KEYWORD=VALUE pair from the next.  Here
  110. is an example of one label item following another:
  111.  
  112.         RECSIZE=1024  NL=1324
  113.  
  114.     A keyword value may be one of four data types:
  115.  
  116.         INTEGER         A positive or negative integer including 0 which
  117.                         does not contain a decimal point.
  118.         REAL            A positive or negative number with a decimal
  119.                         point and, optionally, an exponential (E+06, for
  120.                         instance).
  121.         DOUBLE          A real number with enough digits to make it
  122.                         double-precision.
  123.         STRING          A string delimited by single quotation marks (')
  124.                         containing any printable ASCII characters and
  125.                         spaces EXCEPT the single quotation mark.  The
  126.                         maximum length of a string is 512 characters,
  127.                         and the minimum length is 1 character.
  128.  
  129.     The first keyword in the label is always LBLSIZE, which specifies
  130. the total number of bytes in the label, including any null bytes at the
  131. end.  Thus LBLSIZE will always be a multiple of the file's record size.
  132.  
  133. 3.2  Two Parts of a VICAR2 Label
  134.  
  135.     A label has two sections, the system label items and the history
  136. label items.  History label items are added to the label during
  137. processing with VICAR software.  It is possible for a label to contain
  138. no history label items.  If history label items do exist, they always
  139. occur at the end of the label, following the last system label item.
  140. The beginning of the history label section is marked by the occurrence
  141. of the keyword TASK.
  142.  
  143.     Thus, the system section of the label begins with the keyword
  144. LBLSIZE, and ends in one of these three ways:
  145.  
  146.     o with the appearance of the keyword TASK, which marks the
  147.       beginning of the history section of the label, OR
  148.  
  149.     o with the appearance of an ASCII null value, hexadecimal 00, which
  150.       marks the end of the VICAR2 label (in which case there are no history
  151.       label items), OR
  152.  
  153.     o after the number of characters specified by LBLSIZE (in which
  154.       case there are no history label items).
  155.  
  156. 3.3  Standard Label Keywords
  157.  
  158.     Here is a table of standard VICAR2 label keywords, divided into
  159. system label items and history label items.  Those marked with an
  160. asterisk (*) are required to be present in order for the VICAR image
  161. processing software to be able to process the label.  LBLSIZE will
  162. always be the first keyword in the label.  The other system keywords may
  163. follow in any order.
  164.  
  165.                     STANDARD VICAR2 LABEL KEYWORDS
  166.  
  167.                           SYSTEM LABEL ITEMS
  168.  
  169.       KEYWORD        TYPE         MEANING
  170.  
  171.       LBLSIZE*       integer      The length in bytes of the VICAR
  172.                                   label, including null bytes at the
  173.                                   end.
  174.  
  175.       BUFSIZE*       integer      The default blocksize used when the
  176.                                   file is written to tape.
  177.  
  178.  
  179.       DIM            integer      The dimension of the file (for flat
  180.                                   files, always 2).
  181.  
  182.       EOL            integer      EOL=1 indicates that an end-of-file
  183.                                   label exists.  In most cases EOL=0;
  184.                                   i.e., there is no end-of-file label.
  185.  
  186.       FORMAT*        character    The data type of a sample.  Valid
  187.                                   values are: BYTE, HALF (16-bit
  188.                                   integer), FULL (32-bit integer), REAL
  189.                                   (32-bit floating-point), DOUB (64-bit
  190.                                   floating-point) and COMPLEX (2 32-bit
  191.                                   floating-points).
  192.  
  193.       HOST           character    Type of host computer.  The only
  194.                                   current legal value is 'VAX-VMS'.
  195.  
  196.       INTFMT         character    The integer format for the file.  The
  197.                                   only current legal value is 'LOW'.
  198.  
  199.       N1             integer      Same as NL for simple files.
  200.  
  201.       N2             integer      Same as NS for simple files.
  202.  
  203.       N3             integer      Same as NB for simple files.
  204.  
  205.       N4             integer      Always 0 for simple files.
  206.  
  207.       NB             integer      The number of bands.  For simple
  208.                                   files, always 1.
  209.  
  210.       NBB            integer      Number of bytes in the binary prefix
  211.                                   to each line.  Always 0 for simple
  212.                                   files.
  213.  
  214.       NL*            integer      The number of lines in the image.
  215.  
  216.       NLB            integer      The number of lines of binary header.
  217.                                   Always 0 for simple files.
  218.  
  219.       NS*            integer      The number of samples per image line.
  220.  
  221.       ORG            character    The organization of the file.  For
  222.                                   simple files this is always BSQ (band
  223.                                   sequential).
  224.  
  225.       REALFMT        character    The real format for the file.  The
  226.                                   only current legal value is 'VAX'.
  227.  
  228.       RECSIZE*       integer      The number of bytes per record; i.e.,
  229.                                   NS*LEN, where LEN is the number of
  230.                                   bytes per sample as follows:
  231.  
  232.                                      FORMAT:         LEN:
  233.                                      BYTE              1
  234.                                      HALF              2
  235.                                      REAL,FULL         4
  236.                                      DOUB,COMPLEX      8
  237.  
  238.  
  239.                           HISTORY LABEL ITEMS
  240.  
  241.       KEYWORD        TYPE         MEANING
  242.  
  243.       DAT_TIM        character    The date and time the program was run.
  244.                                   The format is DOW MON DD HH:MM:SS
  245.                                   YYYY, where
  246.  
  247.                                      DOW = day of week (Mon, Tue, Wed,
  248.                                      etc.),
  249.                                      MON = month (Jan, Feb, Mar, etc.),
  250.                                      DD = day of month,
  251.                                      HH:MM:SS = hours, minutes, seconds,
  252.                                      YYYY = year.
  253.  
  254.                                   An example of a date and time in this
  255.                                   format is 'Mon Jan 11 21:51:55 1990'.
  256.  
  257.       TASK           character    The name of a VICAR program that has
  258.                                   processed the file's data.
  259.  
  260.       USER           character    The identifier of the user that
  261.                                   invoked the program represented by the
  262.                                   preceding TASK keyword.
  263.  
  264.       The history label section may also contain other keywords that are
  265. specific to the program that was run.  These are sometimes called user
  266. labels.  They are informational only; they are not interpreted by VICAR
  267. software, but they are copied from input file to output file with the
  268. other label keywords.
  269.                         *******************
  270.  
  271.  
  272.